//package com.daocao.hua.activity;
//
//import android.annotation.TargetApi;
//import android.content.Intent;
//import android.os.Build;
//import android.os.Bundle;
//import android.os.CountDownTimer;
//import android.support.v4.content.ContextCompat;
//import android.text.TextUtils;
//import android.text.method.HideReturnsTransformationMethod;
//import android.text.method.PasswordTransformationMethod;
//import android.view.View;
//import android.widget.CheckBox;
//import android.widget.CompoundButton;
//import android.widget.EditText;
//import android.widget.LinearLayout;
//import android.widget.TextView;
//import android.widget.Toast;
//
//import com.daocao.hua.R;
//import com.daocao.hua.api.callback.RegisterContract;
//import com.daocao.hua.api.requestInfo.RegisterRequest;
//import com.daocao.hua.constant.Const;
//import com.daocao.hua.event.OnHomeEventMsg;
//import com.daocao.hua.model.LoginAndRegisterModel;
//import com.daocao.hua.model.ResponseModel;
//import com.daocao.hua.util.MD5;
//import com.daocao.hua.util.PreferenceUtils;
//import com.daocao.hua.util.ToastUtil;
//import com.daocao.hua.util.Util;
//import com.daocao.hua.view.CircularProgress;
//
//import org.greenrobot.eventbus.EventBus;
//
//import java.util.HashMap;
//import java.util.Map;
//import java.util.regex.Matcher;
//import java.util.regex.Pattern;
//
//import butterknife.BindView;
//import butterknife.ButterKnife;
//import butterknife.OnClick;
//import butterknife.Unbinder;
//
///**
// * 注册界面
// * Created by Master.Dong on 16/4/10.
// */
//public class NewRegisterActivity extends BaseActivity implements View.OnClickListener, RegisterContract.View {
//
//    private static final int TIME = 60 * 1000;  //验证码倒计时时间
//    @BindView(R.id.phone)
//    EditText phone;
//    @BindView(R.id.code)
//    EditText code;
//    @BindView(R.id.code_tv)
//    TextView codeTv;
//    @BindView(R.id.edit_password)
//    EditText editPassword;
//    @BindView(R.id.cb_pass)
//    CheckBox cbPass;
//    @BindView(R.id.edit_email)
//    EditText editEmail;
//    @BindView(R.id.cb_agree)
//    CheckBox cbAgree;
//    @BindView(R.id.agreement)
//    TextView agreement;
//    @BindView(R.id.register)
//    TextView register;
//    @BindView(R.id.register_one)
//    LinearLayout registerOne;
//    @BindView(R.id.progressBar)
//    CircularProgress loading;
//
//    private boolean isSend;
//
//    private RegisterRequest api;
//    private Unbinder unbinder;
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setBaseContentView(R.layout.new_register_activity);
//        unbinder = ButterKnife.bind(this);
//        baseInitView(this, "RegisterActivity", Const.ViewType.ACTIVITY);
//        initView();
//
//    }
//
//    private void initView() {
//        api = RegisterRequest.create();
//        api.attachView(this);
//        setTitleText(getResources().getString(R.string.register));
//        setBackIntent();
//        getRightTextBtn().setText("登陆");
//        getRightTextBtn().setVisibility(View.VISIBLE);
//        getRightTextBtn().setOnClickListener(this);
//        cbPass.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (isChecked) {
//                    editPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); //显示密码
//                } else {
//
//                    editPassword.setTransformationMethod(PasswordTransformationMethod.getInstance()); //隐藏密码
//                }
//                editPassword.setSelection(editPassword.getText().length());
//            }
//        });
//    }
//
//
//    /**
//     * 验证码计时器
//     */
//    private CountDownTimer timer = new CountDownTimer(TIME, 1000) {
//
//        @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
//        @Override
//        public void onTick(long millisUntilFinished) {
//            codeTv.setEnabled(false);
//            codeTv.setText((millisUntilFinished / 1000) + getResources().getString(R.string.resend));
//            codeTv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.gray));
//        }
//
//        @Override
//        public void onFinish() {
//            resetBtn();
//        }
//    };
//
//    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
//    private void resetBtn() {
//        if (timer != null) timer.cancel();
//        codeTv.setEnabled(true);
//        if (isSend)
//            codeTv.setText(getResources().getString(R.string.send_code_again));
//        else
//            codeTv.setText(getResources().getString(R.string.get_code));
//        codeTv.setTextColor(0xFFe3483d);
//    }
//
//    @Override
//    public void onClick(View v) {
//        switch (v.getId()) {
//            case R.id.agreement:
//                Intent intent = new Intent(NewRegisterActivity.this, AboutActivity.class);
//                intent.putExtra("id", Const.ContractType.REGISTER);
//                intent.putExtra("type", 1);
//                intent.putExtra("title", getResources().getString(R.string.service_contract_text));
//                startActivity(intent);
//                overridePendingTransition(R.anim.right_enter, R.anim.left_out);
//                break;
//            case R.id.right_text:
//                Util.startActivity(NewRegisterActivity.this, LoginActivity.class);
//                finish();
//                break;
//        }
//    }
//
//    /**
//     * 获取验证码
//     */
//    private void getCode() {
//        api.getCode("sms", phone.getText().toString());
//    }
//
//    /**
//     * 获取注册信息
//     */
//    private void getRegister() {
//        if (checkAll()) {
//            api.register(phone.getText().toString(), code.getText().toString(),
//                    MD5.getMD5str(editPassword.getText().toString())
//                    , editEmail.getText().toString());
//        }
//    }
//
//    private boolean checkAll() {
//        return checkPhone() && checkCode() && checkPwd() && checkEmail() && checkAgree();
//    }
//
//    /**
//     * 获取登录信息
//     */
//    private void getLoginInfo() {
//        api.login(phone.getText().toString(), MD5.getMD5str(editPassword.getText().toString()));
//    }
//
//    /**
//     * 登录广播
//     */
//    private void sendBroadcast() {
//        Map<String, String> map = new HashMap<>();
//        map.put("type", Const.SendType.REGISTER);
//        EventBus.getDefault().post(new OnHomeEventMsg(map));
//    }
//
//
//    /**
//     * 邮箱验证
//     *
//     * @return
//     */
//    private String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
//
//    private boolean checkEmail() {
//        if (TextUtils.isEmpty(editEmail.getText().toString())) {
//            ToastUtil.makeText(this, "邮箱不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        Pattern regex = Pattern.compile(check);
//        Matcher matcher = regex.matcher(editEmail.getText().toString().replace(" ", ""));
//        boolean isMatched = matcher.matches();
//        return isMatched;
//    }
//
//
//    /**
//     * 号码验证
//     *
//     * @return
//     */
//    private boolean checkPhone() {
//        if (TextUtils.isEmpty(phone.getText().toString())) {
//            ToastUtil.makeText(this, getResources().getString(R.string.phone_is_empty), Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (phone.getText().toString().length() < 11) {
//            ToastUtil.makeText(this, getResources().getString(R.string.phone_is_error), Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        return true;
//    }
//
//
//    /**
//     * 密码验证
//     *
//     * @return
//     */
//    private boolean checkPwd() {
//        if (TextUtils.isEmpty(editPassword.getText().toString())) {
//            ToastUtil.makeText(this, getResources().getString(R.string.password_is_empty), Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        return true;
//    }
//
//    //    同意协议
//    private boolean checkAgree() {
//        if (cbAgree.isChecked()) {
//            return true;
//        } else {
//            ToastUtil.makeText(this, "请勾选同意协议", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//    }
//
//
//    private boolean checkCode() {
//        if (TextUtils.isEmpty(code.getText().toString())) {
//            ToastUtil.makeText(this, getResources().getString(R.string.code_is_empty), Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        return true;
//    }
//
//    /**
//     * 是否显示加载框
//     *
//     * @param b
//     */
//    private void showLoading(boolean b) {
//        if (b) {
//
//            if (loading != null) loading.setVisibility(View.VISIBLE);
//        } else {
//
//            if (loading != null) loading.setVisibility(View.GONE);
//        }
//    }
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//        if (timer != null) timer.cancel();
//        api.detachView();
//        unbinder.unbind();
////        ImageUtil.releaseImageViewResouce(logo);
//    }
//
//
//    @Override
//    public void showError() {
//        resetBtn();
//    }
//
//    @Override
//    public void complete() {
//        showLoading(false);
//    }
//
//    @Override
//    public void onRequestStart() {
//        showLoading(true);
//    }
//
//    @Override
//    public void registerSuccess(LoginAndRegisterModel model) {
//        ToastUtil.makeText(this, "注册成功").show();
//        getLoginInfo();
//    }
//
//    @Override
//    public void loginSuccess(LoginAndRegisterModel model) {
//        PreferenceUtils.putString(getApplicationContext(), "username", model.getData().getUser_name());
//        PreferenceUtils.putString(getApplicationContext(), "mobile", model.getData().getMobile());
//        PreferenceUtils.putString(getApplicationContext(), "money", model.getData().getMoney());
//        PreferenceUtils.putBoolean(getApplicationContext(), "is_logined", true);
//        PreferenceUtils.putBoolean(getApplicationContext(), "has_user_name", model.getData().isHas_user_name());
//        PreferenceUtils.putString(getApplicationContext(), "operator", model.getData().getOperator());
//        ToastUtil.makeText(getApplicationContext(), getResources().getString(R.string.login_success), Toast.LENGTH_SHORT).show();
//        sendBroadcast();
//        NewRegisterActivity.this.finish();
//    }
//
//    @Override
//    public void getCodeSuccess(ResponseModel model) {
//        isSend = true;
//        ToastUtil.makeText(getApplicationContext(), model.getMsg(), Toast.LENGTH_SHORT).show();
//    }
//
//    @OnClick({R.id.code_tv, R.id.agreement, R.id.register})
//    public void onViewClicked(View view) {
//        switch (view.getId()) {
//            case R.id.code_tv:
//                if (checkPhone()) {
//                    timer.start();
//                    getCode();
//                }
//                break;
//            case R.id.agreement:
//                Intent intent = new Intent(this, AboutActivity.class);
//                intent.putExtra("id", Const.ContractType.REGISTER);
//                intent.putExtra("type", 1);
//                intent.putExtra("title", getResources().getString(R.string.service_contract_text));
//                startActivity(intent);
//                overridePendingTransition(R.anim.right_enter, R.anim.left_out);
//                break;
//            case R.id.register:
//                getRegister();
//                break;
//        }
//    }
//}
